The present invention relates to integrated circuit memories and, more particularly, to a test mode for the ECC circuitry resident on the integrated circuit memory.
Error Correction Circuit or ECC logic blocks have been included with integrated memory circuits for many years. Some of the ECC circuits used detect errors in the memory and notify the system that an error occurred, other ECC circuits detect and correct any errors found if they are under a correctable threshold. The types of ECC circuits and their thresholds for detecting or correcting depend on how many parity or check bits are used and the type of ECC algorithm used. A common means to test the ECC circuit block is to turn off or disable the correction circuitry and then identify a memory that has at least one data bit or one address location failing. The ECC block is then enabled and the memory retested to see if the error is in fact detected by the ECC and become corrected if the appropriate circuitry is present. This prior art testing procedure is time consuming and does not guarantee that the ECC logic will detect or correct failures at all address locations or on all data I/Os. Further, this prior art testing procedure does not indicate that the ECC logic will work on every memory circuit on the wafer.
Another method of testing ECC circuitry in the past involved turning off or masking the check bits from being written to their appropriate value. A specific I/O is then written to a new data value. If the ECC circuit being testing offers single bit (or more) correction, the current I/O will be corrected and will output the original data when read with the ECC check bits enabled again. This method requires several steps to implement and slows down the production testing speed. Also, disabling or masking these check bits are often difficult due to the physical location of the bits which may be distributed throughout a memory array. For fully functional memories it is assumed that the ECC logic will work and detect “soft” failures in the field if any do appear over time due to noise, radiation, or some design marginality. Without a specific test mode the ECC logic block can not be guaranteed to work for all die.
FIG. 1 shows a portion of an integrated circuit memory 100 including a memory array 102, a representative internal data line 104, and ECC logic 106 according to the prior art. The data from memory array 102 typically is buffered with data path drivers/buffers I11 and I10. After buffering, the memory array data is corrected by the ECC logic and corrected output data is provided at the Q output data terminal.
What is desired, therefore, is a circuit and corresponding method for providing a test mode for the error correction circuit resident in an integrated circuit memory that overcomes the deficiencies of the prior art, yet is able to be practically integrated onto the same integrated circuit with the memory array.